﻿/* Twan Wolthof - 0910740
 * 
 * Eerste opzet met behulp van een rip van alowan - 15 oktober
 * 
 * De interface die vastlegd welke publieke operaties benodigd zijn (dus de delegates afhandelaar)
 */
/* Kevin Smeets
 * 
 * versie 0.1
 * 
 * De interface voor een controller
 * De Controller die per elke spel wordt aangemaakt
 * De controller past het model aan, controleert de kaarten, handelt het "Spel gewonnen" af en "Deelt de kaarten uit"
 */
using Roborally.Spelleider;

namespace Roborally.Server
{
    /// <summary>
    /// De interface die vastlegd welke publieke operaties benodigd zijn voor controller (dus de delegates afhandelaar)
    /// </summary>
    interface IController
    {   /// <summary>
        /// Event om de spelleider te melden dat de spelers verplaats worden
        /// </summary>
        /// <param name="args">alle informatie </param>
        /// <remarks>public ipv private ivm testen</remarks>
        void Spelleider_VerplaatsAlleSpelers(SpelerLocaties args);

        /// <summary>
        /// Deze methode zet een speler op Powerdown of controleert een kaart van een speler
        /// </summary>
        /// <param name="spelerID">Het spelerID</param>
        /// <param name="info">slotIndex, ProgramKaart: KaartSoort, aantalStappen, Prioriteit in een string</param>
        /// <returns></returns>
        bool UpdateSpelSituatie(int spelerID, string info);
    }
}
